home *** CD-ROM | disk | FTP | other *** search
- ;/* filereq.c - Execute me to compile me with SASC 5.10
- LC -b1 -cfistq -v -y -j73 filereq.c
- Blink FROM LIB:c.o,filereq.o TO filereq LIBRARY LIB:LC.lib,LIB:Amiga.lib
- quit
- **
- ** Here's a short example showing how to create a file requester with
- ** asl.library. If AslRequest() returns TRUE then the rf_File and
- ** rf_Dir fields of the requester data structure contain the name and
- ** directory of the file the user selected. Note that the user can type
- ** in the a name for the file and directory, which makes it possible for
- ** a file requester to return a file and directory that do not
- ** (currently) exist.
- */
- #include <exec/types.h>
- #include <exec/libraries.h>
- #include <libraries/asl.h>
- #include <clib/exec_protos.h>
- #include <clib/asl_protos.h>
- #include <stdio.h>
-
- #ifdef LATTICE
- int CXBRK(void) { return(0); } /* Disable Lattice CTRL/C handling */
- void chkabort(void) { return; } /* really */
- #endif
-
- UBYTE *vers = "$VER: filereq 37.0";
-
- #define MYLEFTEDGE 0
- #define MYTOPEDGE 0
- #define MYWIDTH 320
- #define MYHEIGHT 400
-
- struct Library *AslBase = NULL;
-
- struct TagItem frtags[] =
- {
- ASL_Hail, (ULONG)"The RKM file requester",
- ASL_Height, MYHEIGHT,
- ASL_Width, MYWIDTH,
- ASL_LeftEdge, MYLEFTEDGE,
- ASL_TopEdge, MYTOPEDGE,
- ASL_OKText, (ULONG)"O KAY",
- ASL_CancelText, (ULONG)"not OK",
- ASL_File, (ULONG)"asl.library",
- ASL_Dir, (ULONG)"libs:",
- TAG_DONE
- };
-
- void main(int argc, char **argv)
- {
- struct FileRequester *fr;
-
- if (AslBase = OpenLibrary("asl.library", 37L))
- {
- if (fr = (struct FileRequester *)
- AllocAslRequest(ASL_FileRequest, frtags))
- {
- if (AslRequest(fr, NULL))
- {
- printf("PATH=%s FILE=%s\n", fr->rf_Dir, fr->rf_File);
- printf("To combine the path and filename, copy the path\n");
- printf("to a buffer, add the filename with Dos AddPart().\n");
- }
- FreeAslRequest(fr);
- }
- else printf("User Cancelled\n");
-
- CloseLibrary(AslBase);
- }
- }
-